PATHMac OS 8 and 9 Developer Documentation > Human Interface Toolbox > Appearance Manager >

Programming With the Appearance Manager


MyThemeEraseProc

Draws a background.

Here's how to declare a background drawing function, if you were to name the function MyThemeEraseProc :

pascal void MyThemeEraseProc (
                     const Rect *bounds,
                     UInt32 eraseData,
                     SInt16 depth,
                     Boolean isColorDev);
bounds
A pointer to a structure of type Rect . The rectangle you are passed is set to the area in which you should draw. Your drawing function is called clipped to the rectangle in which you are allowed to draw; do not draw outside this region.
eraseData
An unsigned 32-bit value. You are passed data specifying how to draw, from the eraseData parameter of DrawThemeChasingArrows , DrawThemePopupArrow , DrawThemeTrack , or DrawThemeTrackTickMarks or from the inUserData parameter of DrawThemeButton .
depth
A signed 16-bit value. You are passed the bit depth (in bits per pixel) of the current graphics port.
isColorDev
A value of type Boolean . If true , indicates that you are drawing on a color device; a value of false indicates a monochrome device.
DISCUSSION

At the time your drawing function is called, the foreground text color and mode is already set to draw in the correct state (active or inactive) and correct color for the theme. You do not need to set the color unless you have special drawing needs. If you do have special drawing needs, you should supply the depth value and the value of the isColorDevice parameter to the function IsThemeInColor to determine whether or not you should draw in color. Note that the Appearance Manager calls your MyThemeEraseProc function for every device that the bounds rectangle intersects, so your application does not need to call the DeviceLoop function itself.

VERSION NOTES

Available with Appearance Manager 1.1 and later.


© 1999 Apple Computer, Inc. – (Last Updated 29 April 99)